package org.aphelie.romancer.util.message;

public interface Messager {
	
	public final static String RESOURCE_BUNDLE_NAME = "messages";
	public final static String RESOURCE_BUNDLE_EXTENSION = ".properties";
	
	public String getString(String key);
	
    public String getString(String key, String defaultValue);

    public String getString(String id, String key, String defaultValue);

	public String getFormattedString(String key, Object[] args,
			String defaultValue);

	public String getFormattedString(String id, String key, Object[] args,
			String defaultValue);

	public String getFormattedString(String key, Object[] args);

    public String getErrorString(String key);

    public String getFormattedErrorString(String key, Object[] args);

	public void registerMessageBundle(String id, String bundleName);

	public void unregisterMessageBundle(String id);
	
}
